Skip to content

Conversation

urfeex
Copy link
Member

@urfeex urfeex commented Jun 16, 2025

This is just a proof of concept to make the robot work. This still requires some work.

Requires UniversalRobots/Universal_Robots_ROS2_Description#302 to effectively work.


Update

With 9e98ec2 this should be compatible with

  • robot software versions not supporting torque control
  • descriptions not exposing an effort command interface for the joints

With those, the feature added from this PR will effectively be useless / not available with the correct user feedback where necessary. For example, when trying to activate an effort controller with a robot running 5.22.0:

[ros2_control_node-1] [ERROR 2025-10-08 09:02:09.792] [controller_manager.hardware_component.system.ur5e]: Requested to use effort interface on a robot version that doesn't support it. Torque control is available from robot software 5.23.0 / 10.10.0 on.                                                               
[ros2_control_node-1] [ERROR 2025-10-08 09:02:09.792] [controller_manager]: Component 'ur5e' did not accept command interfaces combination:                                                                                                                                                                                 
[ros2_control_node-1] Start interfaces:                                                                                                                                                                                                                                                                                     
[ros2_control_node-1] [                                                                                                                                                                                                                                                                                                     
[ros2_control_node-1]   shoulder_pan_joint/effort                                                                                                                                                                                                                                                                           
[ros2_control_node-1]   shoulder_lift_joint/effort                                                                                                                                                                                                                                                                          
[ros2_control_node-1]   elbow_joint/effort                                                                                                                                                                                                                                                                                  
[ros2_control_node-1]   wrist_1_joint/effort                                                                                                                                                                                                                                                                                
[ros2_control_node-1]   wrist_2_joint/effort                                                                                                                                                                                                                                                                                
[ros2_control_node-1]   wrist_3_joint/effort                                                                                                                                                                                                                                                                                
[ros2_control_node-1] ]                                                                                                                                                                                                                                                                                                     
[ros2_control_node-1] Stop interfaces:                                                                                                                                                                                                                                                                                      
[ros2_control_node-1] [                                                                                                                                                                                                                                                                                                     
[ros2_control_node-1] ]

ToDo's:

  • Implementation
  • Test on a real robot
  • Test in simulation (torque control doesn't work with URSim)
  • Write tests (torque control doesn't work with URSim -- we cannot test much)
  • Write documentation

@urfeex urfeex mentioned this pull request Jun 17, 2025
@urfeex urfeex force-pushed the effort_interface branch from dfad818 to 30eeb8e Compare June 17, 2025 10:28
@urfeex urfeex requested a review from URJala June 17, 2025 10:30
@urfeex urfeex force-pushed the effort_interface branch from 30eeb8e to e910c15 Compare June 23, 2025 07:47
This ensures backwards compatibility in multiple ways:

- When using this with a description not containing the effort
interface, it will simply not be exported. Therefore, when trying to
start an effort controller that will not work, since the interfaces
aren't available.
- When using this with a robot software version not supporting torque
control this will reject activating effort-controllers.
@urfeex urfeex changed the title EXPERIMENTAL: Add effort command interface to hardware interface Add effort command interface to hardware interface Oct 8, 2025
@urfeex urfeex requested a review from a team October 8, 2025 09:15
@urfeex urfeex marked this pull request as ready for review October 8, 2025 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant